package es.javamyadmin.ajax;

import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import es.javamyadmin.dao.TablesDAO;
import es.javamyadmin.pojo.Error;

/**
 * Clase que crea la clausula where para editar un campo de una tabla
 * de la base de datos, o para eliminar una fila
 * @author Emilio Javier Castillo y Hector Delgado Duran
 *
 */
public class SelectCountAjax extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = -5966391088886714189L;
	/**
	 * doGet solo llama a doPost
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}
	/**
	 * doPost recoge los datos necesarios para editar un campo o eliminar una fila de la tabla,
	 * pregunta cual de las dos cosas tiene que hacer y genera un json con los posibles errores.
	 *  Este json lo manda al java script para que lo pinte en la vista
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String user = request.getParameter("usuario");
		String pass = request.getParameter("pass");
		String host = request.getParameter("servidor");
		String port = request.getParameter("puerto");
		String database = request.getParameter("bd");
		String tabla = request.getParameter("tabla");
		TablesDAO table = new TablesDAO();
		table.setPath(getServletContext().getResourceAsStream("/WEB-INF/properties/mensajes.properties"));
		String respuesta = "";
		Error error;
		error = table.count(user, pass, host, port, database, tabla);
		System.out.println(error.getCambios());
		if(error != null && error.getCambios() != null){
			respuesta = error.getCambios();
		}
		System.out.println(respuesta);
		PrintWriter out = new PrintWriter(new OutputStreamWriter( response.getOutputStream(),"UTF8"), true);
		try{
			out.print(respuesta);
		}finally{
			out.close();
		}
	}

}